package com.xinghou.platform.dao.main;

import java.util.List;

import org.springframework.dao.DataAccessException;

import com.xinghou.platform.entity.resp.ShareInfoResp;
import com.xinghou.platform.model.main.Message;

public interface MessageDAO {
	 public Message getMessageById(Integer Id)throws DataAccessException;
	 
	 public int updateMessage(Message message) throws DataAccessException;
		
	 public int saveMessage(Message message) throws DataAccessException;
	 
	/**
	 * 信息列表
	 * @param sendid         发送者userid(为空时==null)
	 * @param receiverid     接收者userid(为空时==null)
	 * @param origin 信息类型  0系统 1用户 -1全部
	 * @param state  信息状态  0未读，1已读，-1全部
	 * @param startNum	起始索引
	 * @param limitNum  行数
	 * @return
	 * @throws DataAccessException
	 */
	public List<Message> queryMsg(Integer sendid,Integer receiverid, Integer origin,Integer state,int startNum,int limitNum) throws DataAccessException;
	
	/**
	 * 分组信息列表
	 * @param receiverid     接收者userid(为空时==null)
	 * @param origin 信息类型  0系统 1用户 -1全部
	 * @param state  信息状态  0未读，1已读，-1全部
	 * @param startNum	起始索引
	 * @param limitNum  行数
	 * @return
	 * @throws DataAccessException
	 */
	public List<Message> queryMsgGroupBySendId(Integer receiverid,Integer state,int startNum,int limitNum) throws DataAccessException;
	
	/**
	 * 信息数量
	 * @param sendid         发送者userid
	 * @param receiverid     接收者userid
	 * @param origin 信息类型  0系统 1用户 -1全部
	 * @param state  信息状态  0未读，1已读，-1全部
	 * @return
	 * @throws DataAccessException
	 */
	public int queryMsgCount(Integer sendid,Integer receiverid, Short origin,Integer state) throws DataAccessException;
}
